Qt for Windows:Qt 5.9.0 MinGW 静态编译版本(包含OpenSSL) |
您所在的位置:网站首页 › qt 静态编译 版权 › Qt for Windows:Qt 5.9.0 MinGW 静态编译版本(包含OpenSSL) |
概述
5月31号,Qt这一次竟然没跳票,如约发布了LTS的5.9 感觉这一次5.9用的人会很多,毕竟LTS,而且确实改进很大,所以这一次完整的写一遍静态编译的步骤 我这里只涉及MinGW版本的静态编译,包含OpenSSL,不包含MySql 我使用的是 Windows10 64bit 操作系统 我也写了一篇,将如何静态发布QML开发的程序,是基于本文的,链接: http://blog.csdn.net/wsj18808050/article/details/72865917 直接使用我的编译成果这个最为简单,不需要自己编译Qt,但是Qt等安装路径这些都会被定死,而且我编译时跳过或者没有启用的模块将会无法使用。 安装 Qt5.9.0 MinGW 版本 前往百度云,下载压缩包: https://pan.baidu.com/s/1o8LmUy2解压 openssl-1.0.1c_static_w32_mingw.zip 到 C:\Dev 目录 解压 Qt5.9.0_MinGW_static.part1.rar 到 C:\Qt 目录 转跳至本文的 套件配置 ,然后配置套件,接着直接使用就可以了 准备步骤如果你希望自己编译Qt,可以从这里开始看 下载Qt 5.9开始,Qt在Windows上的安装包合并了,只有一个版本。就是 Qt 5.9.0 for Windows (2.3 GB),安装的时候再选择不同的套件。下载地址如下: 官网地址(需要登录Qt账号): https://www.qt.io/download-open-source/#section-3exe下载地址: http://download.qt.io/official_releases/qt/5.9/5.9.0/qt-opensource-windows-x86-5.9.0.exe安装Qt 选择路径我这里选择了Android,是因为我要用,不需要的同学可以不选择。 准备OpenSSL库 我配置的是1.0.1c版本的OpenSSL,关于OpenSSL的编译我不建议自己进行,比较麻烦。我是到这里直接下载OpenSSL的编译结果的: http://www.cnblogs.com/findumars/p/6372223.html 下载后解压OpenSSL的zip压缩包(openssl-1.0.1c_static_w32_mingw.zip)到 C:\Dev 目录下 安装Perl 我选择的是:ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi 安装包: http://downloads.activestate.com/ActivePerl/releases/5.22.1.2201/ActivePerl-5.22.1.2201-MSWin32-x64-299574.msi这个资源貌似官网已经没了,链接直接打开后就报错,但是丢到迅雷里任然可以正常下载 官网地址:http://www.activestate.com/activeperl/downloadsc 安装 Python 我选择的是:python-3.5.1.exe 安装包:https://www.python.org/ftp/python/3.5.1/python-3.5.1.exe 官网地址:https://www.python.org/downloads/ 安装好Python后,将安装目录添加到PATH环境变量中(安装的时候如果选上“Add Python 3.5 to PATH”会自动添加) 检查 运行Qt的命令行工具 输入以下命令看看 gcc 编译器是否配置正确 gcc -v 再输入以下命令看看 perl 解释器是否配置正确 perl -v 输入以下命令看看 python 是否配置正确 python 按 Ctrl + Z 回车,可以退出 python 编译Qt打开Qt命令行工具 cd到源码目录 cd C:\Qt\Qt5.9.0_MinGW\5.9\Src 配置Qt,准备编译 我这里跳过了一些模块,如果你需要这些模块,在自己编译的时候可以去掉skip configure.bat -static -release -platform win32-g++ -prefix "C:\Qt\Qt5.9.0_MinGW_static" -qt-sqlite -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -openssl-linked -opensource -confirm-license -make libs OPENSSL_LIBS="-llibssl -llibcrypto -lgdi32" -L C:\Dev\openssl-1.0.1c_static_w32_mingw -I C:\Dev\openssl-1.0.1c_static_w32_mingw\include -nomake tools -nomake examples -nomake tests -skip qt3d -skip qtcanvas3d -skip qtcanvas3d -skip qtdatavis3d -skip qtlocation -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview -skip qtwinextras查看输出结果 根据自己需求,查看对应的模块是否正常 Desktop OpenGL ....................... yes OpenGL正常 OpenSSL ................................ yes OpenSSL正常 Qt Sql ................................. yes Sql模块正常 SQLite ................................. yes SQLite正常 MySql .................................. no MySql不正常,因为我没有装MySql开发环境,那么编译出来的Qt是无法正常连接到MySql的 编译Qt 为了避免一些奇怪的问题,我使用单线程编译 编译非常慢,请至少准备几个小时的空余时间 如果你使用的是Win10请注意不要让Win10的更新后的自动重启打断编译,我编译了一半的时候就差点被Win10自动重启了 mingw32-make 安装Qt mingw32-make install 修复一些小问题修改编译配置 打开文件 C:\Qt\5.9.0_MinGW_static\mkspecs\win32-g++\qmake.conf 找到 QMAKE_LFLAGS_DLL 将后面都改成 -static 再加一行 QMAKE_LFLAGS 后面也改成 -static 拷贝qml文件 因为一些我还没了解的原因,编译出来的Qt,在qml目录是没有.qml文件,如下图,左边为静态编译版本Qt,右边为普通的版本。qml文件一个都没有。所以,这些qml文件都需要手动拷贝下。 打开QtCreator 选择上方工具栏中的 -> 工具 -> 选项 -> 构建和运行 在上方选项卡中选择 Qt Versions,并且点击右侧的添加 打开qmake.exe,路径是:C:\Qt\Qt5.9.0_MinGW_static\bin\qmake.exe |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |